Image processing apparatus capable of displaying document thumbnail image, image processing apparatus control method, and storage medium

ABSTRACT

An image processing apparatus includes a memory, and a processor in communication with the memory, the processor configured to control a storage unit configured to associate and store a document and a thumbnail image of a top page of the document, a deletion unit configured to delete a page designated from among pages of the document stored in the storage unit, and a generation unit configured to, in a case where a page to be deleted by the deletion unit is a top page of the document, generate a thumbnail image based on the top page of the document after deletion.

This application is a continuation of U.S. patent application Ser. No.14/683,010, filed on Apr. 9, 2015, which is a continuation of prior U.S.patent application Ser. No. 13/939,097 filed Jul. 10, 2013 and issued asU.S. Pat. No. 9,030,698 on May 12, 2015, which claims the benefit ofJapanese Patent Application No. 2012-157554 filed Jul. 13 2012, each ofwhich is hereby incorporated by reference herein in its entirety.

BACKGROUND

1. Field of the Disclosure

Aspects of the present invention generally relate to an image processingapparatus that includes a storage device for storing data input from ascanner and data received from a computer as a document. Morespecifically, the present invention relates to an image processingapparatus that includes a function of displaying a thumbnail image ofthe document.

2. Description of the Related Art

Conventionally, an image processing apparatus has been known that canstore data input by reading an original with a scanner and data receivedfrom a host computer via a network as a document in a predeterminedstorage area of a hard disk, and repeatedly executing processing such asprinting, editing, and transfer. Such a storage area of a hard disk forstoring documents is generally referred to as a “box”. Further, an imageprocessing apparatus has also been known that includes a documentediting function of deleting an arbitrary page from the pages of adocument in a box and inserting another document between pages.

In addition, there are also image processing apparatuses that include athumbnail display function of reducing the size of documents stored inthe box and displaying the reduced documents as thumbnail images in alist on an operation panel. Since the display of thumbnail images isused to allow a user to easily confirm which document the document is,it is common to use a reduced image of the top page, which is arepresentative page of the document, as the thumbnail image.

Japanese Patent Application Laid-Open No. 2009-223521 discusses such animage processing apparatus.

SUMMARY

According to an aspect of the present invention, an image processingapparatus includes a memory, and a processor in communication with thememory, the processor configured to control a storage unit configured toassociate and store a document and a thumbnail image of a top page ofthe document, a deletion unit configured to delete a page designatedfrom among pages of the document stored in the storage unit, and ageneration unit configured to, in a case where a page to be deleted bythe deletion unit is a top page of the document, generate a thumbnailimage based on the top page of the document after deletion.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an overall view of a system configured from an imageprocessing apparatus and a host computer.

FIG. 2 is a hardware configuration diagram of an image processingapparatus.

FIG. 3 illustrates a relationship among a document stored in a box of animage processing apparatus, pages forming the document, and a thumbnailimage of the document.

FIG. 4 is a flowchart illustrating processing for storing input imagedata obtained by scanning an original as a document in a box.

FIG. 5 is a flowchart illustrating processing for storing a pagedescription language (PDL) image generated by a host computer as adocument in a box.

FIG. 6 is a flowchart illustrating processing for generating a thumbnailimage.

FIG. 7 is a list of documents stored in a box.

FIG. 8 is a table for managing a reference counter of a thumbnail image.

FIG. 9 is a flowchart illustrating processing for deleting a documentstored in a box.

FIG. 10 is a flowchart illustrating processing for deleting an arbitrarypage of a document stored in a box.

FIG. 11 is a flowchart illustrating processing for merging a pluralityof documents stored in a box.

FIG. 12 is a flowchart illustrating processing for inserting a documentB before an arbitrary page of a document A that is stored in a box.

FIG. 13 is a flowchart illustrating processing for inserting anarbitrary page of a document B before an arbitrary page of a document Athat is stored in a box.

FIG. 14 is a flowchart illustrating processing for moving a page of adocument stored in a box.

FIG. 15 is a flowchart illustrating processing for displaying athumbnail image.

FIG. 16 is an example of a screen of a document list that is displayedon an operation unit of an image processing apparatus.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the inventionwill be described in detail below with reference to the drawings.

According to an exemplary embodiment, an image processing apparatus willbe described that includes a thumbnail display function.

First, before describing the image processing apparatus that includes athumbnail display function according to the present exemplaryembodiment, issues with a conventional image processing apparatus thatincludes a thumbnail display function will be described.

A conventional image processing apparatus that includes a thumbnaildisplay function suffers from an issue that, if a thumbnail image isgenerated after a user instructs to display a thumbnail image, the imageprocessing apparatus makes the user wait during the operation because ittakes a considerable time to generate and display the thumbnail image.

One way to resolve this issue is to generate a thumbnail image inadvance before the instruction to display the thumbnail image is issuedby the user, and associate the generated thumbnail image with thedocument in a box. However, this method may cause the following anotherissue.

As described above, a document in a box may have an arbitrary pagedeleted or be merged with a plurality of other documents. In otherwords, contents of the document can dynamically change. In addition, athumbnail image is generated from the top page of the document.Therefore, a document thumbnail image that is generated in advance maynot appropriately express the content of the document.

The above-described issue will be described based on a specific example.For example, in an image processing apparatus capable of deleting anarbitrary page of a document in a box, the top page of the document canalso be deleted. If the top page is deleted, a document thumbnail imagethat was generated before the top page was deleted will notappropriately express the content of the document from which the top hasbeen deleted, so that a user will be confused.

Accordingly, by focusing on these issues with such a conventional imageprocessing apparatus that includes a thumbnail display function, thepresent exemplary embodiment is directed to a method that suitablyassociates a document stored in a box (storage unit) with a thumbnailimage.

According to the present exemplary embodiment, a digital multifunctionperipheral that includes a plurality of functions, such as a copyfunction, a print function, and a facsimile function, will be describedas an example of an image processing apparatus.

FIG. 1 is an overall view of a system configured from an imageprocessing apparatus 101 and a host computer 104. As illustrated in FIG.1, the image processing apparatus 101 is communicably connected with thehost computer 104 via a network 103. The image processing apparatus 101can receive data in a page description language (PDL) format and executeprocessing such as printing, storage, and transfer of the received data.Further, the image processing apparatus 101 includes an operation unit102 that includes a touch panel. Based on a user's instruction made onthe operation unit 102, the image processing apparatus 101 can scan anoriginal and execute processing such as printing, storage, and transferof the data obtained by scanning.

According to the present exemplary embodiment, data received from thehost computer 104 and data obtained by scanning an original with ascanner are referred to as a “document”. A document may include imagedata.

FIG. 2 is a block diagram illustrating a hardware configuration of theimage processing apparatus 101. The image processing apparatus 101connects a scanner 201 which is an input device and a printer 202 whichis an output device via a device interface (I/F) 209. Further, the imageprocessing apparatus 101 includes a network interface 208, and performsinput and output of image information and device information to/from anexternal device (such as the host computer 104).

A central processing unit (CPU) 203 is a processor that controls theimage processing apparatus 101. A random-access memory (RAM) 205 acts asa system work memory in order for the CPU 203 to operate, and as animage memory for temporarily storing image data. A read-only memory(ROM) 204 is a boot ROM that stores a system boot program. A hard diskdrive (HDD) 206 stores system software, applications, and image data.

The programs for executing the below-described flowcharts are alsostored in the HDD 206. More specifically, each step in thebelow-described flowcharts is realized by the CPU 203 executing aprogram loaded from the HDD 206 into the RAM 205. However, a processorother than the CPU 203 may execute each step in the flowcharts, or theCPU 203 and another processor may cooperate and execute each step in theflowcharts.

Further, according to the present exemplary embodiment, a part of thestorage area of the HDD 206 is used as a storage area (hereinbelowreferred to as a “box”) for storing documents. A document stored in thebox is read as necessary by the CPU 203 and subjected to processing suchas printing, editing, deleting, and sending. There may be a plurality ofstorage areas used as boxes. In addition, the plurality of storage areasmay be classified on a user-by-user basis or a department-by-departmentbasis.

An operation unit interface 207 is connected to the operation unit 102,and outputs data of an image to be displayed on the operation unit 102to the operation unit 102. Further, the operation unit interface 207also plays the role of transmitting information input by the user fromthe operation unit 102 to the CPU 203.

The above-described devices and modules are arranged on a system bus212.

The above is a description about the hardware configuration of the imageprocessing apparatus 101.

<Structure of a Document Stored in a Box>

Next, a structure of a document stored in the box of the hard disk ofthe image processing apparatus 101 will be described.

FIG. 3 illustrates an example of the association among a document storedin the box, a group of pages forming the document, and a thumbnail imageof the document. As illustrated in FIG. 3, a plurality of documents isstored in the box. Each document is associated with a plurality of pagesthat form the document and a thumbnail image of a top page of thedocument. FIG. 3 illustrates an example that four documents are storedin the box. A document 1 is formed from five pages, and a thumbnailimage of a page 1 (the top page) is associated with the document 1. Adocument 2 is formed from two pages, and the same thumbnail image as thedocument 1 is associated with the document 2. This is because thedocument 1 and the document 2 have the same top page.

A document 3 is formed from three pages, and a thumbnail image generatedfrom the top page of the document 3 is associated with the document 3.

A document 4 is formed from two pages. A thumbnail image is notassociated with the document 4. This is either because the document 4 isa document that is newly stored in the box, or a top page of thedocument has been deleted.

As illustrated in FIG. 3, the group of documents stored in the boxeither have the same thumbnail image associated with them or do not havea thumbnail image associated with them.

Next, the operation for storing a document in the box will be describedwith reference to FIGS. 4 and 5. The processing for storing a documentin the box can be performed in the following two ways. One is to storeimage data generated by reading an original with the scanner 201(hereinbelow, a “scan image”). The other is to store PDL data receivedfrom the host computer 104 via the network 103 (hereinbelow, a “PDLimage”). These processes will be described with reference to FIGS. 4 and5, respectively. In addition to these two ways, the present exemplaryembodiment may store, for example, facsimile data received by afacsimile via a public line in the box. Further, the present exemplaryembodiment may store a file received based on a file sharing protocol,such as sever message block (SMB) and Web-based distributed authoringand versioning (WebDAV), as a document in the box.

<Processing for Inputting a Document from a Scanner>

First, processing for storing image data input from the scanner 201 inthe box as a document will be described with reference to FIG. 4. Eachstep illustrated in the flowchart in FIG. 4 is realized by the CPU 203executing a program that is loaded from the HDD 206 into the RAM 205.

In step S401, the CPU 203 receives an instruction from a user made onthe operation unit 102, and receives a box designation as a documentstorage destination. For example, if there is a plurality of boxes, abox number for identifying that plurality of boxes is designated.

Next, in step S402, the CPU 203 receives an instruction from the usermade on the operation unit 102, and designates scan settings (e.g.,reading resolution, an original size, color etc.). In step S403, the CPU203 receives an instruction to start scanning from the user, and causesthe scanner 201 to operate. The scanner 201 scans an original that isset in an automatic document feeder (ADF) or on a platen glass based onan instruction from the CPU 203, and inputs the scanned image data.Then, in step S404, the CPU 203 stores the image data input from thescanner 201 as a document in the designated box of the HDD 206.

The above is a description about an operation for storing image dataobtained by scanning an original with the scanner 201 in the box of theHDD 206 as a document. However, according to the present exemplaryembodiment, a thumbnail image of the document is not generated at thepoint when the document is stored in the box. As described below withreference to FIG. 6, the thumbnail image is generated in thumbnail imagegeneration processing that is executed asynchronously with the boxstorage processing.

<Processing for Receiving a Document from the Host Computer 104>

Next, as another mode of storing a document in a box, a processingprocedure for storing data received from the host computer 104 in thebox will be described with reference to FIG. 5. Each step illustrated inthe flowchart in FIG. 5 is realized by the CPU 203 executing a programthat is loaded from the HDD 206 into the RAM 205.

Before starting the processing in the flowchart illustrated in FIG. 5,the following processing is performed by the host computer 104. Morespecifically, first, printer driver software (hereinbelow referred to asa “printer driver”) installed on the host computer 104 performs a printsetting, and designates the processing for storing in the box. When theuser issues a start instruction on the host computer 104, the printerdriver generates PDL data to be stored, and transmits the generated PDLdata to the image processing apparatus 101. In this processing, the hostcomputer 104 also transmits the print setting and the number of thedesignated storage destination box to the image processing apparatus 101together with the PDL data.

When the PDL data is transmitted from the host computer 104, in stepS502, the CPU 203 of the image processing apparatus 101 receives the PDLdata via the network 103, and rasterizes the received PDL data intoimage data.

Then, in step S503, the CPU 203 stores the rasterized image data as adocument in the box designated by the storage destination box number.

In FIG. 5, a thumbnail image of the document is not generated at thepoint when the document is stored in the box. As described below withreference to FIG. 6, the thumbnail image is generated by periodicallyexecuted thumbnail image generation processing.

<Processing for Generating a Document Thumbnail Image>

Next, an operation for generating a thumbnail image of a document storedin a box will be described with reference to FIG. 6.

FIG. 6 is a flowchart illustrating processing for generating a thumbnailimage. The thumbnail image generation processing illustrated in FIG. 6is executed asynchronously with the box storage processing in FIGS. 4and 5. According to the present exemplary embodiment, the processing inFIG. 6 is periodically executed at a predetermined interval. If thepredetermined interval is set at too long an interval, there is anincreased risk that a thumbnail image will not have been generated whenthe user issues an instruction to display the thumbnail image of thedocument. Therefore, it is desirable to execute the thumbnail imagegeneration processing at an interval that is as short as possible.

Each step illustrated in the flowchart in FIG. 6 is realized by the CPU203 executing a program that is loaded from the HDD 206 into the RAM205.

In step S601, the CPU 203 obtains from the HDD 206 a list of alldocuments stored in the box. A list may be like a document list 701 asillustrated in FIG. 7, for example.

As illustrated in the document list 701 in FIG. 7, each of the pluralityof documents stored in the box is provided with a documentidentification (ID) for identifying the document. Whether a thumbnailimage is associated with the document or not is managed for eachdocument ID. If a thumbnail image is associated with the document,thumbnail image ID for identifying that thumbnail image is associatedwith the document ID. If a thumbnail image is not associated with thedocument, a “none” value is set, and a thumbnail image non-generationflag is set to ON.

In step S603, the CPU 203 focuses on one document included in thedocument list 701 obtained in step S601, and confirms the thumbnailimage non-generation flag associated with the document ID that is beingfocused on. Then, the CPU 203 determines whether a thumbnail image forthe document has been generated. For example, for a document newlystored in the box by the processing in FIGS. 4 and 5, since a thumbnailimage would not have been generated yet, the CPU 203 may determine “YES”in step S603. Further, as described below, in some cases the CPU 203 maydetermine “YES” in step S603 in a case where the top page of thedocument has been deleted by page deletion processing or a plurality ofdocuments have been merged, for example.

If it is determined that a thumbnail image has not been associated withthe document (YES in step S603), the processing proceeds to step S604.In step S604, the CPU 203 reads the document having the document ID thatis being focused on from the HDD 206, and generates a thumbnail imagebased on the top page of the read document. In step S605, the CPU 203changes the thumbnail image non-generation flag of the document ID inthe document list 701 illustrated in FIG. 7 from ON to OFF, associatesthe thumbnail image ID of the generated thumbnail image with thedocument ID, and registers the thumbnail image ID in the document list701.

Next, in step S606, the CPU 203 newly registers the thumbnail image IDof the thumbnail image generated in step S605 in a management table 801like that illustrated in FIG. 8 which is used for managing a referencecounter of the thumbnail image.

FIG. 8 illustrates a management table for managing a reference counterof a thumbnail image. In the management table 801 illustrated in FIG. 8are registered a thumbnail image ID for identifying a thumbnail imageand a value that represents the number of documents referring to thethumbnail image. In the example illustrated in FIG. 8, the managementtable 801 indicates that the thumbnail image with the thumbnail imageID=1 is associated with two documents, and the thumbnail image with thethumbnail image ID=2 is associated with one document. Further, thethumbnail image with the thumbnail image ID=3 is associated with threedocuments.

In step S606, if the thumbnail image ID is newly registered in themanagement table 801, the CPU 203 sets the reference counter to “1”.

Next, in step S607, the CPU 203 determines whether the processing fromsteps S603 to S606 has been executed for all of the documents includedin the document list 701. If it is determined that the processing hasbeen executed for all of the documents (YES in step S607), theprocessing performed in the flowchart in FIG. 6 is finished. On theother hand, if it is determined that the processing has not beenexecuted for all of the documents (NO in step S607), the CPU 203 focuseson the next document in the document list 701, and performs theprocessing from step S603 and the subsequent steps.

The above is a description of an operation for generating a thumbnailimage of a document in a box.

<Processing for Deleting a Document in a Box>

Next, the processing for deleting a document in a box will be described.

FIG. 9 is a flowchart illustrating processing for deleting a documentstored in a box. The processing performed in the flowchart in FIG. 9 isstarted based on a user's instruction made on the operation unit 102.Each step illustrated in the flowchart in FIG. 9 is realized by the CPU203 executing a program that is loaded from the HDD 206 into the RAM205.

First, in step S901, the CPU 203 receives from the user a deletioninstruction from the operation unit 102 to delete a document, anddeletes the designated document from the box. The deletion instructionincludes the document ID. The CPU 203 deletes the document identified bythe document ID from the box. Further, instead of the document ID, thedeletion instruction may include information capable of identifying thedocument, such as a document name or a file name.

In step S902, the CPU 203 reads the document list 701 and the managementtable 801. First, the CPU 203 specifies the thumbnail image IDassociated with the document ID of the deleted document, and thendecrements the reference counter of the relevant thumbnail image ID inthe management table 801.

In step S903, the CPU 203 confirms the reference counter decremented instep S902. If it is determined that the reference counter is zero (YESin step S703), the CPU 203 deletes the thumbnail image. On the otherhand, if it is determined that the reference counter is one or more (NOin step S703), the CPU 203 determines that that the thumbnail image isassociated with another document, and the processing in FIG. 9 isfinished without deleting the thumbnail image.

The above is a description of an operation for deleting a documentstored in a box with reference to FIG. 9. According to the presentexemplary embodiment, when a document for which a deletion instructionhas been issued is deleted, a confirmation is made based on thereference counter regarding whether the thumbnail image associated withthe document is also associated with another document. The processing isconfigured so that if it is determined that the thumbnail image isassociated with another document, the thumbnail image is not deletedeven if the document for which a deletion instruction has been issued isdeleted. Accordingly, a situation in which a thumbnail image associatedwith another image is deleted can be prevented.

<Processing for Deleting an Arbitrary Page of a Document in a Box>

In FIG. 9, an example is illustrated in which a document per se storedin a box is deleted. In contrast, in FIG. 10, rather than deleting thedocument stored in a box per se, an example is illustrated in which justa specific page of a designated document is deleted.

FIG. 10 is a flowchart illustrating processing for deleting a specificpage of a document in a box. The processing performed in the flowchartin FIG. 10 is started based on a user's instruction made on theoperation unit 102. Each step illustrated in the flowchart in FIG. 10 isrealized by the CPU 203 executing a program that is loaded from the HDD206 into the RAM 205.

First, in step S1001, the CPU 203 receives from the user via theoperation unit 102 a deletion instruction to delete a designated page ofa designated document, and deletes the designated page of the documentbased on the instruction. The deletion instruction includes, forexample, the document ID and a page number of the page to be deleted.The CPU 203 deletes the designated page of the document in the box basedon the deletion instruction. The designation of the page to be deletedcan be performed by designating, for example, “delete from the first tothe fifth pages of the document”, and “delete pages 1, 3 and 5”. Inaddition, it may be designated to “delete the first page only” or“delete from the fifth page and subsequent pages”.

According to the present exemplary embodiment, when the designated pageof the document is deleted, only the pages for which a deletioninstruction is not issued remain, so that the document is formed fromthose remaining pages. For example, if a document formed from five pagesis stored in the box, and an instruction to delete the first page isissued to the document. In this case, the second to fifth pages willremain, so that the second page will newly become the top page.

In step S1002, the CPU 203 determines whether the document page to bedeleted based on the deletion instruction includes the first page,namely, the top page. If it is determined that the deleted page includesthe top page (YES in step S1002), since the top page (top page afterdeletion) and the thumbnail image of the document are different, athumbnail image has to be newly generated. Consequently, the processingproceeds to step S1003 and subsequent steps.

In step S1003, the CPU 203 decrements the reference counter of thethumbnail image ID corresponding to the document ID of the document forwhich the deletion instruction is issued based on the document list 701and the thumbnail image management table 801.

In step S1004, the CPU 203 confirms the reference counter of thethumbnail image ID decremented in step S1003. If it is determined thatthe reference counter is zero (YES in step S1004), the processingproceeds to step S1005, and the CPU 203 deletes the thumbnail image. Onthe other hand, if it is determined that the reference counter is one ormore (NO in step S1004), since the thumbnail image is associated withanother document, the CPU 203 does not delete the document, and theprocessing proceeds to step S1006.

In step S1006, the CPU 203 determines whether there are any remainingpages of the document for which the deletion instruction is issued. Ifit is determined that there are no remaining pages (NO in step S1006),the processing proceeds to step S1009, and the CPU 203 deletes thedocument per se. On the other hand, if it is determined that there is aremaining page (YES in step S1006), the processing proceeds to stepS1008. In step S1008, the CPU 203 changes the thumbnail imagenon-generation flag from “OFF” to “ON”. Consequently, when the thumbnailimage generation processing in FIG. 6 is executed later, a new thumbnailimage (an image of a page that originally was the second or subsequentpage) is generated, and the thumbnail image ID associated with thedocument is registered in the document list 701.

<Document Merging Processing>

FIG. 11 is a flowchart illustrating processing of a document mergingfunction for newly generating a merged document (e.g., a document C) bymerging a plurality of documents (e.g., documents A and B) stored in abox. Each step illustrated in the flowchart in FIG. 11 is realized bythe CPU 203 executing a program that is loaded from the HDD 206 into theRAM 205.

The processing in the flowchart in FIG. 11 is started when aninstruction to merge documents is received from the user via theoperation unit 102. The received instruction includes the document IDsof a plurality of documents to be merged and information designating theorder that the documents are to be merged in.

For example, when the document A and the document B are to be merged,since there are two possible merging orders, merging the document A thenthe document B or merging the document B then the document A, the userdesignates which order the merging is to be performed in. This alsoapplies when three or more documents are to be merged.

In step S1101, the CPU 203 receives a document merging instruction,merges the plurality of documents which are targets of the instruction,and creates a new document in which those documents are merged. Forexample, when an instruction to merge the document A and the document Bin order of the document A then the document B is received, and thedocument A is formed from images of three pages and the document B isformed from images of two pages. In this case, one document formed fromfive pages is created in which the document B follows after the documentA. The documents to be merged (i.e., in the above example, the documentsA and B) are remained without deleting them from the box even aftermerging.

In step S1102, the CPU 203 specifies the top document among theplurality of documents to be merged. For example, if the document A andthe document B are to be merged in order of the document A then thedocument B, the document A is specified as the top document. On theother hand, if the document A and the document B are to be merged inorder of the document B then the document A, the document B is specifiedas the top document.

In step S1103, the CPU 203 obtains from the document list 701 thethumbnail image ID corresponding to the document ID of the top documentspecified in step S1102, and also obtains from the management table 801the reference counter corresponding to the thumbnail image ID of thethumbnail image. Further, the CPU 203 increments the obtained referencecounter.

In step S1104, the CPU 203 provides a document ID for the documentcreated by the merging processing in step S1101. The CPU 203 adds theprovided document ID to the document list 701, and associates it withthe thumbnail image ID of the top document specified in step S1102. Inaddition, the CPU 203 sets the thumbnail image non-generation flag inthe document list 701 to OFF.

The above is a description about the processing for merging documents.According to the present exemplary embodiment, when merging processingis executed, since the thumbnail image is the same as one of thethumbnail images of the documents to be merged, a link to the thumbnailimage of the original document is simply provided without generating anew thumbnail image. Consequently, duplicate generation of the thumbnailimage can be prevented, thereby avoiding unnecessary usage of the harddisk storage area.

<Document Insertion Processing>

Next, document insertion processing will be described. Documentinsertion processing refers to processing for inserting another documentat an arbitrary page position of a predetermined document. For example,if the document A is a document formed from images of three pages andthe document B is a document formed from images of two pages, andprocessing is designated for inserting the document B between the secondand third pages of the document A, the following document C is created.More specifically, a single document C is created in which an image ofthe first page of the document A, an image of the second page of thedocument A, an image of the first page of the document B, an image ofthe second page of the document B, and an image of the third page of thedocument A are merged in that order.

FIG. 12 is a flowchart illustrating insertion processing of apredetermined document. Each step illustrated in the flowchart in FIG.12 is realized by the CPU 203 executing a program that is loaded fromthe HDD 206 into the RAM 205.

The processing in the flowchart in FIG. 12 is started when aninstruction to insert a document is received from the user via theoperation unit 102. The received instruction includes the document ID ofthe document B to be inserted, the document ID of the document A that isan insertion destination of the document, and information designatingwhich pages of the insertion destination document A the document B is tobe inserted between.

In step S1201, the CPU 203 creates a document C in which the insertiontarget document B is inserted to a designated position in the insertiondestination document A based on the received document insertioninstruction.

In step S1202, the CPU 203 determines whether the insertion destinationof the document B is before the top page of the document A. Thisdetermination is performed based on the information about the pageposition that is included in the instruction received from the user.

If it is determined that the insertion destination of the document B isnot before the top page of the document A (NO in step S1202), theprocessing proceeds to step S1203. In step S1203, the CPU 203 obtainsfrom the document list 701 the thumbnail image ID of the insertiondestination document A, and obtains from the management table 801 thereference counter of the thumbnail image ID of the document A. Then, theCPU 203 increments the reference counter.

In step S1204, the CPU 203 provides a document ID for the documentcreated by the insertion processing in step S1201. The CPU 203 adds theprovided document ID to the document list 701, and associates it withthe thumbnail image ID of the document A. In addition, the CPU 203 setsthe thumbnail image non-generation flag corresponding to the document Cto OFF.

If it is determined in step S1202 that the insertion destination of thedocument B is before the top page of the document A (YES in step S1202),the processing proceeds to step S1205. In step S1205, the CPU 203obtains from the document list 701 the thumbnail image ID of theinsertion target document B, and also obtains from the management table801 the reference counter of the thumbnail image ID of the document B.Further, the CPU 203 increments the value of the obtained referencecounter.

In step S1206, the CPU 203 provides a document ID for the documentcreated by the insertion processing in step S1201. The CPU 203 adds theprovided document ID to the document list 701, and associates it withthe thumbnail image ID of the document B. In addition, the CPU 203 setsthe thumbnail image non-generation flag of the document C to OFF.

The above is a description about the document insertion processing. Thethumbnail image of the document C that is newly created by the insertionprocessing according to the present exemplary embodiment is the same asthe document thumbnail image of either the insertion destinationdocument or the insertion target document. Therefore, a new thumbnailimage is not generated for the document C, and a link to an alreadyexisting document thumbnail image is provided. Consequently, duplicategeneration of the thumbnail image can be prevented, thereby avoidingunnecessary usage of the hard disk storage area.

<Page Insertion Processing>

Next, insertion processing of a page of a document stored in a box willbe described. Page insertion processing refers to the creation of adocument C in which a page of the document B is inserted before anarbitrary page of the document A.

FIG. 13 is a flowchart illustrating the page insertion processing. Theprocessing in the flowchart in FIG. 13 is started based on the receptionof an instruction from the user to insert a page of a document intoanother document. The instruction received from the user includes atleast the following four pieces of information. More specifically, thedocument ID of the document A that is the insertion destination, aninsertion destination page number indicating which page position of thedocument A the page is to be inserted into, the document ID of theinsertion target document B, and an insertion target page number fordesignating which page(s) among the pages of the document B is/are to beinserted.

Each step illustrated in the flowchart in FIG. 13 is realized by the CPU203 executing a program that is loaded from the HDD 206 into the RAM205.

In step S1301, the CPU 203 creates a new document C by inserting thedocument B into the document A based on the instruction received fromthe user.

In step S1302, the CPU 203 determines whether the top page of thedocument C created in step S1301 matches the top page of the document A.This determination is performed based on the insertion destination pagenumber of the document A included in the instruction received from theuser. More specifically, if the insertion destination page number of thedocument A is a number other than page 1 (i.e., a case where thedocument B is inserted at the second or subsequent page of the documentA), the CPU 203 determines that the top page of the newly createddocument C matches the top page of the document A (YES in step S1302),and the processing proceeds to step S1304.

In step S1304, the CPU 203 increments the reference counter of thethumbnail image of the document A. In step S1305, the CPU 203 associatesthe thumbnail image of the document C with the thumbnail image of thedocument A, and sets the thumbnail image non-generation flag of thedocument C to OFF. Then, the processing in FIG. 13 is finished.

On the other hand, in step S1303, the CPU 203 determines whether the toppage of the document C matches the top page of the document B. Thisdetermination is performed based on the insertion destination pagenumber of the document A and the insertion target page number of thedocument B included in the instruction received from the user. Morespecifically, if the insertion destination page number of the document Ais page 1 (i.e., in a case where the document B is inserted before thetop page of the document A), and if the insertion target page number ofthe document B includes page 1 (i.e., the top page of the document B isthe insertion target), the CPU 203 determines that the top page of thenewly created document C and the top page of the insertion targetdocument B match (YES in step S1303), and the processing proceeds tostep S1306.

In step S1306, the CPU 203 increments the reference counter of thethumbnail image of the document B. In step S1307, the CPU 203 associatesthe thumbnail image of the document C with the thumbnail image of thedocument B, and sets the thumbnail image non-generation flag of thedocument C to OFF. Then, the processing in FIG. 13 is finished.

The processing in step S1308 is performed when it is determined that thetop page of the document C does not match either the thumbnail image ofthe document A or the thumbnail image of the document B. Morespecifically, in step S1308, the CPU 203 adds the document ID of thedocument C to the document list 701 for the created document C, and setsthe corresponding thumbnail image non-generation flag to ON.

The above is a description about the page insertion processing. For thedocument C that is newly created by the page insertion processing, thethumbnail image of the document A or the document B may become thethumbnail image of the document C, or a thumbnail image may no longerexist. In the former case, similar to the processing in FIGS. 11 and 12,a new thumbnail image is not generated for the document C, and a link toan already existing document thumbnail image is provided. In the lattercase, the thumbnail image non-generation flag is set to ON so that athumbnail image for the document C will be newly generated.

<Page Movement Processing>

FIG. 14 is a flowchart illustrating a page movement function of moving apage of a predetermined document to another page within the document.Each step illustrated in the flowchart in FIG. 14 is realized by the CPU203 executing a program that is loaded from the HDD 206 into the RAM205.

In step S1401, the CPU 203 moves a designated page among the pagesforming the document to another page of the document based on aninstruction received from the user.

In step S1402, the CPU 203 determines whether there is a change to thetop page of the document on which the movement processing was performed.If it is determined that the top page is changed (YES in step S1402),the processing proceeds to step S1403. If it is determined that the toppage is not changed (NO in step S1402), the processing in FIG. 14 isfinished.

In step S1403, the CPU 203 sets the thumbnail image non-generation flagof the created document to ON. Then, in step S1404, the CPU 203decrements the reference counter of the thumbnail image associated withthe original top page (i.e., the top page before executing the pagemovement processing).

In step S1405, the CPU 203 determines whether the value of the referencecounter that is decremented in step S1404 is zero. If it is determinedthat the value of the reference counter is zero (YES in step S1405), theprocessing proceeds to step S1406. In step S1406, the CPU 203 deletesthe thumbnail image, and the processing in FIG. 14 is then finished. Onthe other hand, if it is determined that the value of the referencecounter is one or more (NO in step S1405), the processing in FIG. 14 isfinished without deleting the thumbnail image.

The above is a description about the page movement processing. Accordingto the present exemplary embodiment, if the document top page ischanged, a thumbnail image is newly generated. Consequently, a situationin which the top page of the document and the thumbnail image of thedocument stored in the box do not match can be prevented.

<Thumbnail Image Display Processing>

Next, the processing for displaying a thumbnail image of a documentstored in the box on the operation unit 102 will be described withreference to FIG. 15. The processing in the flowchart in FIG. 15 isstarted when the user issues an instruction to display a list of thedocuments stored in the box by operating a touch panel on the operationunit 102.

Each step illustrated in the flowchart in FIG. 15 is realized by the CPU203 executing a program that is loaded from the HDD 206 into the RAM205.

First, in step S1501, the CPU 203 receives an instruction from the userto display the documents that are stored in the box. Upon receiving theinstruction, in step S1502, the CPU 203 obtains the document list 701from the HDD 206. The document list is a list like that illustrated inFIG. 7, which lists all of the documents that are stored in the box.

In step S1503, the CPU 203 focuses on one document listed in thedocument list 701, and confirms whether the thumbnail imagenon-generation flag corresponding to the document ID of the documentthat is being focused on is set to ON. If it is confirmed that thethumbnail image non-generation flag is set to ON (YES in step S1503),the processing proceeds to step S1504. In step S1504, the CPU 203displays on the operation unit 102 the fact that a thumbnail image hasnot yet been generated (e.g., a message such as “NO IMAGE”), and theprocessing then proceeds to step S1506. On the other hand, if it isconfirmed that the thumbnail image non-generation flag corresponding tothe document ID of the document that is being focused on is set to OFF(NO in step S1503), the processing proceeds to step S1505. In stepS1505, the CPU 203 reads from the HDD 206 the thumbnail image that isidentified by the thumbnail image ID corresponding to the document ID,and displays the read thumbnail image on the operation unit 102. Then,the processing proceeds to step S1506.

In step S1506, the CPU 203 determines whether confirmation has beenperformed for all of the documents listed in the document list. If it isdetermined that confirmation has been performed for all of the documents(YES in step S1506), the processing in FIG. 15 is finished. If it isdetermined that confirmation has not been performed for all of thedocuments (NO in step S1506), the CPU 203 focuses on the next document,and repeats the processing from step S1504 and the subsequent steps.

FIG. 16 illustrates an example of a screen that is displayed on theoperation unit 102 when the thumbnail image display processing in FIG.15 is executed.

A screen 1601 in FIG. 16 is displayed on the operation unit 102 of theimage processing apparatus 101. The screen 1601 is a screen example whenthree documents are stored in the box of the image processing apparatus101. Since thumbnail images are associated with the document 1 and thedocument 2 respectively, the thumbnail image is displayed for both ofthese documents. In contrast, since a thumbnail image has not yet beengenerated for the document 3, the message “NO IMAGE” is displayed thatindicates that there is no thumbnail image. Although not illustrated inFIG. 16, a button for designating whether to display a thumbnail may bedisplayed, and the screen can be switched between displaying thethumbnail image or just the document ID by the button.

In addition, on the screen 1601, an arbitrary document can be selectedfrom among the displayed documents, and processing such as pagedeletion, document deletion, document merging, printing, and sending canbe executed on the selected document.

The above is a description of all of the operations relating to thedocuments stored in the box.

According to the present exemplary embodiment, an image processingapparatus can be provided that is capable of, when a plurality ofdocuments having the same top page are stored in a box, managing thedocuments without storing duplicate thumbnails. More specifically, sincethe present exemplary embodiment is configured to separately include adocument list 701 and a thumbnail image management table 80, a thumbnailimage can be shared by a plurality of documents, and the documents canbe efficiently managed.

Further, according to the present exemplary embodiment, documents andthumbnail images stored in the box of the image processing apparatus 101can be appropriately associated with. More specifically, the presentexemplary embodiment is configured so that when the top page of adocument stored in the box is deleted, a thumbnail image is newlygenerated since the thumbnail image of the document and the top page ofthe document from which the top page was deleted no longer match. Thisprocessing has the advantageous effect of eliminating situations inwhich the thumbnail image of the document and the top page of thedocument are different, thus preventing the user from becoming confused.

Further, the present exemplary embodiment is configured so that when adocument stored in the box is deleted, rather than uniformly deletingthe document thumbnail image, the image processing apparatus 101confirms whether there are any documents associated with that thumbnailimage, and based on that confirmation result, determines whether todelete the thumbnail image. Consequently, cases in which even thethumbnail image of another document is deleted due to the deletion of adocument can be prevented.

Furthermore, the present exemplary embodiment is configured so that whena single document is created by merging a plurality of documents storedin the box, rather than newly generating a thumbnail image for thecreated document, a link is provided to a document thumbnail image thatalready exists. This processing has the advantage that thumbnail imagesare not needlessly generated.

Embodiments of the present invention can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions recorded on a storage medium (e.g., non-transitorycomputer-readable storage medium) to perform the functions of one ormore of the above-described embodiment(s) of the present invention, andby a method performed by the computer of the system or apparatus by, forexample, reading out and executing the computer executable instructionsfrom the storage medium to perform the functions of one or more of theabove-described embodiment(s). The computer may comprise one or more ofa central processing unit (CPU), micro processing unit (MPU), or othercircuitry, and may include a network of separate computers or separatecomputer processors. The computer executable instructions may beprovided to the computer, for example, from a network or the storagemedium. The storage medium may include, for example, one or more of ahard disk, a random-access memory (RAM), a read only memory (ROM), astorage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™,a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

What is claimed is:
 1. An image processing apparatus comprising: adocument storage unit configured to store documents and thumbnail imagesof the documents; a memory; and at least one processor in communicationwith the memory, the processor being configured to: manage, for each ofthe thumbnail images, a counter value indicating the number of documentshaving the thumbnail image; delete a document from the document storageunit in accordance with a deletion instruction; identify a thumbnailimage of the document to be deleted; and determine whether to delete theidentified thumbnail image of the document, based on the counter valueindicating the number of documents having the identified thumbnailimage.
 2. The apparatus according to claim 1, further comprising anoperation unit configured to display the thumbnail images on anoperation screen and then receives the deletion instruction for adocument corresponding to a thumbnail image selected via the operationscreen.
 3. The apparatus according to claim 2, further comprising aprinter configured to print an image based on a document correspondingto a thumbnail image selected via the operation screen.
 4. The apparatusaccording to claim 1, further comprising a scanner configured to read anoriginal to generate image data, wherein the processor is configured tostore the image data as a document in the document storage unit.
 5. Theapparatus according to claim 1, wherein the processor is configured torasterize print data, which is received from a host computer, into imagedata and then store the image data as a document in the document storageunit,
 6. The apparatus according to claim 1, wherein the processor isconfigured to decrement the counter value indicating the number ofdocuments having the identified thumbnail image and, if the countervalue is zero, then delete the identified thumbnail image.
 7. Theapparatus according to claim 1, wherein each of the thumbnail images isgenerated from a corresponding top page of the documents.
 8. An imageprocessing apparatus comprising: a document storage unit configured tostore documents and thumbnail images of the documents; a memory; and atleast one processor in communication with the memory, the processorconfigured to: identify a first document of the documents to be deletedfrom the document storage unit in accordance with a deletioninstruction; identify a thumbnail image of the first document; determinewhether the identified thumbnail image is associated with a seconddocument of the documents stored in the document storage unit; deletethe first document from the document storage unit without deleting theidentified thumbnail image if the identified thumbnail image isassociated with the second document of the documents; and delete boththe first document and the identified thumbnail image from the documentstorage unit if the identified thumbnail image is not associated withthe second document of the documents stored in the document storageunit.
 9. The apparatus according to claim 8, further comprising anoperation unit configured to display the thumbnail images on anoperation screen and then receives the deletion instruction for adocument corresponding to a thumbnail image selected via the operationscreen.
 10. The apparatus according to claim 9, further comprising aprinter configured to print an image based on a document correspondingto a thumbnail image selected via the operation screen.
 11. Theapparatus according to claim 8, further comprising a scanner configuredto read an original to generate image data, wherein the processor isconfigured to store the image data as a document in the document storageunit.
 12. The apparatus according to claim 8, wherein the processor isconfigured to rasterize print data, which is received from a hostcomputer, into image data and then store the image data as a document inthe document storage unit,
 13. The apparatus according to claim 8,wherein each of the thumbnail images is generated from a correspondingtop page of the documents.
 14. The apparatus according to claim 8,further comprising a merging unit configured to merge the first documentand a third document to create the second document, and to, as a result,associate a thumbnail image of the first document with the seconddocument.